A main striving force in the development of wireless and cellular communication networks and systems is to provide, apart from many other aspects, increased coverage or support of higher data rate, or a combination of both. Further, the cost aspect of building and maintaining the system has been of great importance and is expected to become even more so in the future. Until recently the main topology of wireless communication systems has been fairly unchanged, including the three existing generations of cellular networks. The topology of existing wireless communication systems is characterized by the cellular architecture with the fixed radio base stations and the mobile stations as the only transmitting and receiving entities in the networks typically involved in a communication session.
One way to introduce macro-diversity is to use relaying or distributed systems, such as distributed antenna systems or cooperative systems. A relaying system is a conventional radio network that is complemented with relay nodes. The relay nodes communicate wirelessly with other network elements, e.g. base station, another relay or a user terminal. A cooperative relaying system is a relaying system where the information sent to an intended destination is conveyed through various routes and combined at the destination. Each route can consist of one or more hops utilizing the relay nodes. In addition, the destination may receive the direct signal from the source.
The present-day communication networks, mentioned above, share the same fundamental principle of operation: the information or packet sent from one source to a destination is transported independently from other information sent from another source to the same destination. Routers, repeaters or relays simply forward the data to the destination. In contrast to those communication networks, network coding is a new area of networking and data communication, in which data is manipulated inside the network to improve throughput, delay, and robustness. In particular, network coding allows instead the nodes to recombine several input packets into one or several output packets. At the network coding node some linear coding could be performed on the packets present at the network coding node, and the resulting encoded packet can be broadcasted for different recipients simultaneously instead of transmitting each packet separately.
WO 2007/008123, WO 2007/008162 and WO 2007/008163 disclose the usage of network coding in connection with a communication system utilizing automatic repeat request (ARQ) and/or multihop scheduling and forwarding. The network coding is based on the capability of receiving nodes to overhear data transmissions from a sending node and destined for other receiving nodes. The information of the overheard data is sent to a network coding node. The network coding node uses the information when selecting the data packets to combine by network coding and when deciding to which receiving nodes such a combined data packet should be sent.
The above-mentioned documents provide an improvement to data communication in ARQ-based and multihop networks. However, there is still a need to further improve data communication in connection with network coding.